package com.bkfm.framework.core.api.store;

import java.util.List;

import org.yak.core.store.IBaseStore;

import com.bkfm.framework.core.entity.BkfmFilter;
import com.bkfm.framework.core.entity.BkfmTableMetaData;

public interface IBkfmTableMetaStore extends IBaseStore<BkfmTableMetaData>{

	/**
	 * 查询所有业务模型数据
	 * @return
	 * @throws Exception
	 */
	public List<BkfmTableMetaData> selectTableMetaAllList()throws Exception;
	
	/**
	 * 业务模型路径查询表模型结构
	 * @param tableMetaData
	 * @return
	 * @throws Exception
	 */
	public List<BkfmTableMetaData> selectTableMetaColumnList(BkfmFilter bkfmFilter)throws Exception;
	
	/**
	 * 查询业务模型
	 * @param bkfmFilter
	 * @return
	 * @throws Exception
	 */
	public BkfmTableMetaData selectTableMetaColumn(BkfmFilter bkfmFilter)throws Exception;
	
	/**
	 * 查询所有的表和试图的业务模型
	 * @return
	 * @throws Exception
	 */
	public List<BkfmTableMetaData> selectAllTableViewModel()throws Exception;
}
